﻿using System;
namespace Tracker.Services
{
    public interface ITaskData
    {
        void AddLog(int taskid, string detail, int statusid, decimal hours);
        void AddTask(string detail, decimal hours);
        void DeleteLog(int logid);
        void DeleteStatusDomain(Tracker.Data.DataTransfer.StatusDomain sd);
        void DeleteTask(int taskid);
        void DeleteTaskFieldDomain(Tracker.Data.DataTransfer.ObjectAttribute oa);
        System.Collections.Generic.List<Tracker.Data.DataTransfer.Log> GetLog(int taskid);
        System.Collections.Generic.List<Tracker.Data.DataTransfer.Log> GetLogInfoList();
        System.Collections.Generic.List<Tracker.Data.DataTransfer.Log> GetLogInfoList(DateTime createStart, DateTime createEnd, DateTime updateStart, DateTime updateEnd, string word);
        System.Collections.Generic.List<Tracker.Data.DataTransfer.StatusDomain> GetStatusDomainList();
        System.Collections.Generic.List<Tracker.Data.DataTransfer.ObjectAttribute> GetTaskField();
        System.Collections.Generic.List<Tracker.Data.DataTransfer.ObjectData> GetTaskField(int taskid);
        System.Collections.Generic.List<Tracker.Data.DataTransfer.Task> GetTaskInfoList();
        System.Collections.Generic.List<Tracker.Data.DataTransfer.Task> GetTaskInfoList(DateTime createStart, DateTime createEnd, DateTime updateStart, DateTime updateEnd);
        System.Collections.Generic.List<Tracker.Data.DataTransfer.Task> GetTasks(DateTime datelimit, int statusid, string searchWord);
        Tracker.Data.DataTransfer.Log UpdateLog(Tracker.Data.DataTransfer.Log log);
        Tracker.Data.DataTransfer.StatusDomain UpdateStatusDomain(Tracker.Data.DataTransfer.StatusDomain o);
        Tracker.Data.DataTransfer.Task UpdateTask(Tracker.Data.DataTransfer.Task task);
        void UpdateTaskField(Tracker.Data.DataTransfer.ObjectData f);
        Tracker.Data.DataTransfer.ObjectAttribute UpdateTaskFieldDomain(Tracker.Data.DataTransfer.ObjectAttribute o);
    }
}
